// pages/find/find.js
Page({
  data: {
    active: 0,
    latitude: 0, // 用户当前位置的纬度
    longitude: 0, // 用户当前位置的经度
    nearbyList: [], // 存储从数据库获取到的附近景点数据
    keyword: ""
  },
  onLoad() {
    // 在页面加载时获取用户当前位置并获取附近景点数据
    this.searchInput();
  },
  searchInput() {
    const keyword = this.data.keyword.trim(); // 去除关键词的前后空格 // 获取搜索关键词
    if (keyword !== '') {
      // 使用云开发数据库进行查询
      const db = wx.cloud.database();
      db.collection('zyzl_nearbylist').where({
        name: db.RegExp({
          regexp: '.*' + keyword + '.*',
          options: 'i' // 不区分大小写
        })
      }).get().then(res => {
        console.log('搜索成功11：', res.data);
        this.setData({
          nearbyList: res.data
        });
      }).catch(err => {
        console.error('搜索失败：', err);
      });
    } else {
      // 若搜索关键词为空，则重新获取附近景点数据
      this.getNearbyList();
    }
  },
  // 点击搜索按钮触发的方法
  showModal() {
    // 执行搜索功能
    this.searchInput();
  },
  getUserLocation() {
    // 获取用户当前位置的经纬度
    wx.getLocation({
      type: 'gcj02',
      success: (res) => {
        const { latitude, longitude } = res;
        // 更新数据中的用户当前位置的经纬度
        this.setData({
          latitude,
          longitude
        });
        // 调用云函数获取附近景点数据
        this.searchInput();
      },
      fail: (error) => {
        console.error('获取用户位置失败：', error);
      }
    });
  },
  getNearbyList() {
    // 显示加载状态
    this.setData({
      loadModal: true
    });
    wx.cloud.callFunction({
      name: "nearbylist",
    }).then(res => {
      console.log('获取附近景点数据成功：', res.result);
      // 更新数据中的附近景点数据
      this.setData({
        nearbyList: res.result
      });
      console.log(res.result.eva);
  
      // 关闭加载状态
      this.setData({
        loadModal: false
      });
    }).catch(err => {
      console.error('获取附近景点数据失败：', err);
      // 关闭加载状态
      this.setData({
        loadModal: false
      });
    });
  },
  inputChange(e) {
    // 当输入改变时更新关键词
    this.setData({
      keyword: e.detail.value
    });
  },
shop(){
  wx.navigateTo({
    url: '/pages/nearby/shopping/shopall/shopall',
  })
}
})
